package primaryAlgorithm.fizzBuzz;

import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * @Date 2020/03/21
 * @author 王光浩
 * @Thinking 为了能够更加的适用，我们使用散列表更加合适。（这里我们使用LinkedHashMap）这时如果需要增加一个
 * @         条件，比如这个数如果能够被4整除，则使用"wang"，我们直接在Map中添加应的即可，增加了程序的可拓展性
 */
public class MyMethodTwo {
	public List<String> fizzBuzz(int n) {
		LinkedHashMap<Integer,String> map=new LinkedHashMap<Integer,String>(4);
		List<String> res=new LinkedList<String>();
		map.put(3, "Fizz");
		map.put(5, "Buzz");
		for(int i=1;i<=n;i++)
			 res.add(judge(i,map));
		return res; 
	}
	private String judge(int value,LinkedHashMap<Integer,String> map) {
		StringBuilder ret=new StringBuilder();
		for(Map.Entry<Integer, String> tem:map.entrySet()){
			if(value%tem.getKey()==0)ret.append(tem.getValue());
		}
		if(ret.length()==0)ret.append(value);
		return ret.toString();
	}
}
